Skip to content

[ECO-5386] Liveobjects serialization using msgpack-jackson#1101

Closed
sacOO7 wants to merge 5 commits intomainfrom
chore/liveobjects-serialization
Closed

[ECO-5386] Liveobjects serialization using msgpack-jackson#1101
sacOO7 wants to merge 5 commits intomainfrom
chore/liveobjects-serialization

Conversation

@sacOO7
Copy link
Collaborator

@sacOO7 sacOO7 commented Jun 16, 2025

  1. Added LiveObjectsHelper for initializing LiveObjects plugin and related serializer
  2. Updated ProtocolMessage to handle msgpack serialization/deserialization

Decided to have separate serialization over just single gson serialization because =>

  1. In case of msgpack, needs two layers of serialization, first is always json and second is to msgpack.
  2. Even then conversation from json to msgpack for binary type( byte array ) is not compatible ( need to add hack for the same by checking binary field )
  3. Doesn't conform to the spec as per Add spec for ObjectMessage encoding and decoding specification#335 (comment)

Summary by CodeRabbit

  • New Features

    • Added support for serializing and deserializing arrays of live objects in both JSON and MessagePack formats.
    • Introduced a new field to protocol messages to carry live object state.
    • Enhanced object messaging with custom serialization for complex data types, including binary and JSON objects.
  • Improvements

    • Streamlined and unified serialization logic for live object-related classes.
    • Improved enum serialization by encoding them as integer codes for efficiency.
  • Bug Fixes

    • Ensured null fields are properly omitted or handled during serialization and deserialization.
  • Tests

    • Added comprehensive tests for object message serialization, deserialization, and handling of nulls and enums.
    • Introduced fixtures for reusable dummy data in tests.
  • Chores

    • Updated dependencies and build configuration to support new serialization features.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant